$(function () {
    // 加减效果
    // 加
    $('.plus').click(function () {
        let current_number =  $(this).prev().val();
        //购买上限 20
        if (current_number >= 20) {
            alert("最多只能购买20件");return false;
        }
        let after_number = parseInt(current_number) + 1
        // 把当前的数量+1 重新复制给input
        $(this).prev().val(after_number);
        // 可以发送ajax请求、验证商品库存是否充足
        singleGoodsPrice($(this),after_number)
    })
    // 减
    $('.mins').click(function () {
        let current_number =  $(this).next().val();
        //购买上限 20
        if (current_number <= 1) {
            alert("最少只能购买1件");return false;
        }
        // 把当前的数量-1 重新复制给input
        let after_number = parseInt(current_number) - 1;
        $(this).next().val(after_number);

        singleGoodsPrice($(this),after_number);// 更新单条小记

    });
    // input输入的效果
    $('.current_number').blur(function () {
        let current_number = parseInt($(this).val()) ? parseInt($(this).val()) : 1;
        if (current_number > 200) {
            current_number = 200;
            $('#number').val(200);
        }
        $(this).val(current_number);
        singleGoodsPrice($(this),current_number)
    });
    // 计算小计的公共方法
    function  singleGoodsPrice(that,after_number) {
        // 更新小记的金额
        let price = that.parent().prev().find('.price').text();
        let goods_price = price * after_number;
        that.parent().next().find('.sum').text(goods_price);
        //更新数据数量
        changeNumber(that,after_number);
        calculatePriceAndNumber();// 计算总价格/总数量
    }

    // 修改数据库或者cookie的购买数量
    function changeNumber(that,after_number) {
        let id = that.parents('ul').attr('data-id');
        $.ajax({
            url:"changeNumber",
            data:{id:id,number:after_number},
            dataType:"json",
            type:'post',
            success:function (response) {
                console.log(response);
            }
        })
    }
    calculatePriceAndNumber();//页面加载调用一次

    // 计算总价格
    function calculatePriceAndNumber() {
        // 获取当前选中所有复选框、只限商品列表
        let total_price = 0;//总数量
        let total_number = 0;//总价格
        $('.row_check:checked').each(function (i,v) {
            total_price += parseInt($(v).parents('ul').find('.sum').text());
            total_number += parseInt($(v).parents('ul').find('.current_number').val());
        });
        $("#total_price").text("¥"+total_price);
        $("#total_number").text(total_number);
    }

    // 每一行的复选框绑定一个点击时间
    $('.row_check').click(function () {
        calculatePriceAndNumber();
        // 发送请求、修改购物车商品选中状态
        let id = $(this).parents('ul').attr('data-id');
        let is_selected = $(this).prop("checked") ? 1 : 0 ;
        $.ajax({
            url:"changeSelected",
            data:{id:id,is_selected:is_selected},
            dataType:"json",
            type:'post',
            success:function (response) {
                console.log(response);
            }
        })
    });

    // 批量删除
    // $(".option a:eq(0)").click(function () {
    $("#batchDel").click(function () {
        // 获取选中的id
        let ids = '';
        if ($('.row_check:checked').length == 0) {
            alert("请选择要删除的商品");return false;
        }
        $('.row_check:checked').each(function (i,v) {
            ids += $(v).parents('ul').attr('data-id') + ',';
        })
        ids = ids.slice(0,-1);
        $.ajax({
            url:'/batchDel',
            data:{ids:ids},
            dataType:'json',
            type:'POST',
            success:function (response) {
                if (response.code ==200) {
                    location.href='/cart';
                } else {
                    alert(response.msg);
                    return false;
                }
            }
        })
    });

    $('.sumbtn a').click(function () {
        // 判断有没有选中的商品
        if ($('.row_check:checked').length == 0) {
            alert("请选择要购买的商品");return false;
        }

        location.href = '/getOrderInfo';

    })
})